1. Field of Invention
The present invention relates generally to the field of migrating software systems. More specifically, the present invention is related to migration plans refined based on analysis of captured feedback.
2. Discussion of Prior Art
Client migration is the process of moving end-user computers from one configuration to another configuration, in which configuration refers to an Operating System (OS) and associated applications that function in that OS environment. In addition, client migration refers to changing from a current OS and applications installed on a client machine to a new OS and applications (e.g., from Windows XP to Suse Linux). The term migration has also been used to mean, more generally, a change from an old configuration to a new one. Thus, migration can also mean moving the same OS, applications, and data from one client machine to another client machine. It can also make reference to upgrading an OS and optionally, applications associated with an OS, from an older to a newer version on a single client machine. It has also been used to refer to moving data from a client machine to a server machine and from a server machine to another server machine.
In one scenario, a migration plan has been defined as a list of software components, applications, and operating systems to be deployed, the manner in which these software components, applications, and operating systems are grouped together and the manner in which they are to be deployed, and a timeline associated with their deployment. Particular groupings of software components, applications, and operating systems are known as images. Images are tested and adjusted in a pilot process, and subsequently, are recorded to a storage medium. During a full-scale deployment, the recorded image is copied to target machines.
The client migration service can be decomposed into the following steps: assessing a target enterprise, creating a customized migration plan, deploying the migration plan, and providing support services for the deployment process. In an initial enterprise assessment, company information is collected to craft a migration solution and associated cost of migration. Relevant information including current technology infrastructure (e.g., number of client computers, currently installed OS, other applications and software) is subsequently processed to create a migration plan comprising: pre-installed configurations on a test computer (i.e., images) to be deployed on target client machines; and an associated timeline for deployment.
As the migration plan is initially deployed in pilot process, images are copied onto a subset of the target set of client machines to determine and plan for effects of a full-scale deployment. If problems are encountered during the pilot process, then adjustments are made to the migration plan, new images are created, and another pilot is performed. When a pilot process eventually results in a satisfactory migration, a full-scale deployment is performed. As accounted for by the pilot process, problems can occur at each step in creation of a migration plan. For example, inaccurate data may be collected during assessment, data may be collected from an inappropriate source, and necessary, relevant data may not be collected at all. In the absence of sufficient and accurate data for characterizing an enterprise, the possibility of creating an inefficient and problematic migration plan increases. Likewise, the chance of a successful, full-scale deployment decreases.
In addition to difficulties in assessment, applications associated with a new OS are not entirely equivalent in function and form (e.g., user interface). For example, when migrating an enterprise having a target set of client machines upon which a Windows OS is installed to a RedHat Linux OS, it is also necessary to migrate the word processing application Microsoft Word to OpenOffice™, since OpenOffice™ is a word processing application associated with a Linux OS. Despite the fact that OpenOffice™ was created to be interoperable with Microsoft Word, there still exist differences in functionality as well as differences in the look and feel of each respective user interface. For example, Microsoft Word users utilizing a macro programming function would have not equivalent functionality in OpenOffice™. More specifically, all macros created in Microsoft Word to perform standard business processes would not be usable in OpenOffice™. If such a migration plan were to be deployed, functionality would therefore be lost and business processes would be interrupted.
User difficulty in interacting with a new system is commonly used as an indication of lack of skill or experience on the part of the user with respect to new software components, applications, or operating system or as an indication that the user does not know how to execute his or her job function using components of the new system. In the latter case, user difficulty implies that a business process or workflow either cannot be performed or cannot be efficiently performed with the new system.
A current approach to addressing such difficulties is to perform a manual pilot in which a number of consultants and technical personnel deploy an initial migration plan for a subset of target client machines, and closely monitor the subset of machines for problems. Any problems noted are then used to adjust a migration plan such that the same problem does not occur during a full-scale deployment. However, such an approach is very expensive and time consuming due to costs incurred through the labor needed from consultants manually executing such a planned migration, and through the questioning of employees about any problems or difficulties with the new applications. Furthermore, a manual deployment is inaccurate because only a subset of employees is questioned and the timeframe for pilot assessment is limited, thus limiting the examination of functionality in the newly migrated applications and period of adjustment to a migration plan.
Recent work on automatic migration systems as disclosed by Atkins et al. in U.S. Pat. No. 6,182,212 “Method and System for Automated Migration of User Settings to a Replacement Computer System” details a system that moves an OS and associated application settings for a particular user from one client machine to another. However, a migration plan is not explicitly generated and furthermore, Atkins teaches a system in which software is pre-loaded. U.S. patent application publication 2002/0178233A1, also disclosed by Atkins et al., “Method and Apparatus for the Automatic Migration of Applications and their Associated Data and Configuration Files,” describes the migration of applications, settings, and data from one computer to another computer. Atkins et al. teaches a system requiring the use of metadata for describing how applications are to be associated with files, and also containing settings and data necessary to perform the installation of software on the new computer. Both of these approaches, however, are limited in their consideration of client migration as an enterprise engagement process and are therefore limited in their treatment of cost, risk, and feasibility issues.
Whatever the precise merits, features, and advantages of the above cited references, none of them achieves or fulfills the purposes of the present invention.